﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace GYCTOAManagementSystemNewApi.Model
{
    public class ProjectFinanceReport
    {
        #region 项目费用支出报表
        /// <summary>
        /// 项目ID标识
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 项目编号
        /// </summary>
        public string ProjectNumber { get; set; }
        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }
        /// <summary>
        /// 关联合同id
        /// </summary>
        public int ContractId { get; set; }
        /// <summary>
        /// 项目时间
        /// </summary>
        public DateTime OperatDate { get; set; }
        /// <summary>
        /// 合同名称
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 合同签订时间
        /// </summary>
        public DateTime? SignDate { get; set; }
        /// <summary>
        /// 合同客户ID
        /// </summary>
        public int CustomerId { get; set; }
        /// <summary>
        /// 项目开始时间
        /// </summary>
        public DateTime CreateDate { get; set; }
        /// <summary>
        /// 项目实际完成时间
        /// </summary>
        public DateTime? InFaceFinishDate { get; set; }
        /// <summary>
        /// 合同额
        /// </summary>
        public decimal ContractPrice { get; set; }
        /// <summary>
        /// 结算金额
        /// </summary>
        public decimal SettleMoney { get; set; }
        /// <summary>
        /// 冲销税额
        /// </summary>
        public decimal WriteOffTax { get; set; }
        /// <summary>
        /// 个人借款
        /// </summary>
        public decimal PersonLoan { get; set; }
        /// <summary>
        /// 采购未到票
        /// </summary>
        public decimal PurchaseCost { get; set; }
        /// <summary>
        /// 人工费
        /// </summary>
        public decimal LaborCost { get; set; }
        /// <summary>
        /// 材料费
        /// </summary>
        public decimal MaterialCost { get; set; }
        /// <summary>
        /// 机械使用费
        /// </summary>
        public decimal MachineryCost { get; set; }
        /// <summary>
        /// 其它直接费
        /// </summary>
        public decimal OtherDirectCost { get; set; }
        /// <summary>
        /// 分包成本
        /// </summary>
        public decimal SubcontractingCost { get; set; }
        /// <summary>
        /// 冲销后增值税费用
        /// </summary>
        public decimal WriteOffRate { get; set; }
        /// <summary>
        /// 管理人员费用
        /// </summary>
        public decimal ManagementPersonCost { get; set; }
        /// <summary>
        /// 福利费
        /// </summary>
        public decimal WelfareCost { get; set; }
        /// <summary>
        /// 固定资产使用费
        /// </summary>
        public decimal FixedAssetsCost { get; set; }
        /// <summary>
        /// 低值易耗品摊销
        /// </summary>
        public decimal LowValueCost { get; set; }
        /// <summary>
        /// 办公费
        /// </summary>
        public decimal OfficeCost { get; set; }
        /// <summary>
        /// 差旅费
        /// </summary>
        public decimal TravelCost { get; set; }
        /// <summary>
        /// 业务招待费
        /// </summary>
        public decimal BusinessCost { get; set; }
        /// <summary>
        /// 安全保护费
        /// </summary>
        public decimal SafetyCost { get; set; }
        /// <summary>
        /// 车辆使用费
        /// </summary>
        public decimal VehicleCost { get; set; }
        /// <summary>
        /// 其它间接费用
        /// </summary>
        public decimal OtherIndirectCost { get; set; }
        /// <summary>
        /// 经营费用
        /// </summary>
        public decimal OperatingCost { get; set; }
        /// <summary>
        /// 直接费用总计
        /// </summary>
        public decimal DirectTotalCost { get; set; }
        /// <summary>
        /// 间接费用总计
        /// </summary>
        public decimal IndirectTotalCost { get; set; }
        /// <summary>
        /// 直接费用占比
        /// </summary>
        public decimal DirectTotalCostRate { get; set; }
        /// <summary>
        /// 间接费用占比
        /// </summary>
        public decimal IndirectTotalCostRate { get; set; }
        /// <summary>
        /// 经营费用占比
        /// </summary>
        public decimal OperatingCostRate { get; set; }
        /// <summary>
        /// 总费用
        /// </summary>
        public decimal TotalCost { get; set; }
        #endregion

        #region 项目人工费用报表
        /// <summary>
        /// 应付劳务
        /// </summary>
        public decimal CopeWithLabour { get; set; }
        /// <summary>
        /// 已付劳务
        /// </summary>
        public decimal PaidLabour { get; set; }
        /// <summary>
        /// 未付劳务
        /// </summary>
        public decimal UnpaidLabour { get; set; }
        /// <summary>
        /// 人工费（公司人员工资）
        /// </summary>
        public decimal LaborExpenses { get; set; }
        #endregion

        #region 项目毛利表所需字段
        /// <summary>
        /// 项目收款
        /// </summary>
        public decimal CollectionAmount { get; set; }
        /// <summary>
        /// 项目毛利
        /// </summary>
        public decimal GrossProfit { get; set; }
        /// <summary>
        /// 毛利率
        /// </summary>
        public decimal GrossProfitRate { get; set; }
        #endregion

        #region 项目回款报表
        /// <summary>
        /// 保证金
        /// </summary>
        public decimal Bond { get; set; }
        /// <summary>
        /// 坏账金额
        /// </summary>
        public decimal BadMoney { get; set; }
        /// <summary>
        /// 开票金额
        /// </summary>
        public decimal InvoiceMoney { get; set; }
        /// <summary>
        /// 开票未收款金额
        /// </summary>
        public decimal NoCollectionAmount { get; set; }
        /// <summary>
        /// 应收账款
        /// </summary>
        public decimal AccountReceiv { get; set; }
        /// <summary>
        /// 未开票金额
        /// </summary>
        public decimal NoInvoiceMoney { get; set; }
        /// <summary>
        /// 结算未回款金额
        /// </summary>
        public decimal SettleNoCollectionMoney { get; set; }
        /// <summary>
        /// 产生税额
        /// </summary>
        public decimal RateMoney { get; set; }
        /// <summary>
        /// 红字发票金额
        /// </summary>
        public decimal RedMarkMoney { get; set; }
        /// <summary>
        /// 缴税金额
        /// </summary>
        public decimal TaxPay { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        #endregion
    }
}
